package com.chenyue.cm.common.service;

import com.chenyue.cm.base.service.BaseServiceIface;
import com.chenyue.cm.common.domain.JdSearchHistory;
import com.chenyue.cm.common.vo.Page;
import com.chenyue.cm.live.vo.LiveStudio;
import com.chenyue.cm.match.vo.Address;
import com.chenyue.cm.news.domain.JdNews;

import java.util.List;

/**
 * @author chenyue-cm
 */
public interface JdSearchHistoryService extends BaseServiceIface<JdSearchHistory> {

    /**
     * 获取搜索历史列表
     *
     * @param type   搜索类型（1直播间 2新闻）
     * @param userId 用户id
     * @return List<JdSearchHistory>
     */
    List<JdSearchHistory> getSearch(Integer type, Integer userId);

    /**
     * 关键词搜索直播间
     *
     * @param keyWords 搜索关键词
     * @param page     当前页
     * @param rows     条数
     * @param userId   用户id
     * @param address  地域搜索
     * @return 关键词搜索出来的直播列表
     */
    Page<List<LiveStudio>> liveSelect(String keyWords, Integer page, Integer rows, Integer userId, Address address);

    /**
     * 关键词搜索新闻
     *
     * @param keyWords 搜索关键词
     * @param page     当前页
     * @param rows     条数
     * @param userId   用户id
     * @return 关键词搜索出来的新闻列表
     */
    Page<List<JdNews>> newsSelect(String keyWords, Integer page, Integer rows, Integer userId);

    /**
     * 获取热门推荐的新闻标题
     *
     * @return List<String>
     */
    List<String> getHotNews();

    /**
     * 清空搜索记录
     *
     * @param id 用户id
     */
    void deleteByUserId(Integer id);

    /**
     * 获取热搜
     *
     * @return 关键词
     */
    List<String> getHotKeywords();

}